This invention relates to a computer-based system and method for recognizing features included with an external device. More particularly, this invention relates to a system for recognizing optional features included with an external device and configuring a host system to operate those features.
Integrating an external device, such as a printer, digital imaging apparatus or an external device with a host system, such as a computer workstation or a laptop for example, requires linking hardware and software components between the external device and the host system. Typically, in terms of hardware, a cable is used to connect the external device and the host system. Parallel cables are commonly used in the industry for connecting the host system and the external device.
For software, the external device and the host system each feature software components for connecting one another. The host system initially runs an executable installation program or xe2x80x9cinstallerxe2x80x9d associated with the external device. The installer installs software in the operating system of the host system, an operating system such as Microsoft Corporation""s WINDOWS for example. In general, the installer installs software for enabling the host system to operate the external device. The installer installs device drivers and other device utilities for operating the external device. The installer may also verify warranty registration and software license agreements associated with the external device.
A device driver is software that runs in the host system""s operating system. The device driver translates application and operating system commands into commands that are recognized by that specific model of external device. In effect, the device driver allows applications software from the host system to be executed by the external device. For example, a printer driver allows applications software, such as word processing or graphics software for example, to print to an external printer.
As a requirement for integration with the host system, the external device carries in memory a protocol that provides a device identification string or xe2x80x9cdevice idstringxe2x80x9d, such as for example DEVICEID for use with Microsoft Corporation""s WINDOWS. The device idstring is a grouping of instructions transmitted from the external device to the host system. Upon receiving the device idstring, the host system""s operating system recognizes that the particular external device is integrated with the host system so that the device may properly receive instructions and applications from the host system.
The device idstring is unique to the class and model of external device for connection to the host system. Commonly, each time the host system is booted up, the device idstring announces class and model of an external device that is connected to the host system. Illustratively, for a Hewlett Packard LASERJET 2200 laser printer, the device idstring indicates a printer as the class of external device and a Hewlett Packard LASERJET 2200 as the model of laser printer that is connected to the host system. Specifically, the device idstring for this laser printer indicates: xe2x80x9cG:Hewlett-Packard;CMD:PJL,MLC,PCL,PLCXL,POSTSCRIPT;MDL:HP LaserJet2200;CLS:PRINTER; DES:Hewlett-Packard LaserJet 2200xe2x80x9d.
An external device may have a wide variety of features. Generally, each external device includes two types of features, standard and optional. For each specific model, standard features are included in every external device. For example, all Hewlett Packard LASERJET 2200 laser printers include 250-sheet input trays and manual feed sheet input as standard features.
In addition to standard features, each external device may be configured to include optional features or, commonly, xe2x80x9cadd-onxe2x80x9d features. Moreover, with add-on features, one external device may be configured differently from that of another external device of the same model having the same standard features. Some examples of add-on features for an external printer includes optional input or output trays, an envelope feeder, a duplex unit for printing on both sides of one page or increased memory capacity.
The device driver must be properly configured to operate all the features provided by the external device. Illustratively, a printer driver must be configured so as to an accommodate an external printer having an optional envelope feeder. Because they are typically configured to include just standard features, device drivers must be manually configured to include optional features for operation thereof.
Specifically, to operate the optional envelope feeder of the above illustration, the installer must first install the printer driver in the host computer operating system. Once installed, a user must interface with a configuration settings component provided by the printer driver and a configuration registry of the host computer operating system. The user must then alter the driver and host configurations to include the envelope feeder as the desired feature to ensure proper activation of the external printer.
Unfortunately, because either the manual interface process is often difficult or a user simply does not know how to configure a device, a vast majority of external device users fail to configure for optional features. As a result, users often pay for professional help to solve a technically simple problem.
In some instances, instead of device driver software that is commonly provided by the manufacturer, sophisticated external device users install specialized bi-directional communications software to run with the host operating system. Bi-directional software interacts between the host system and the external device to facilitate feature configuration of the external device. However, bi-directional software strictly requires a network connection in lieu of the standard hardware cable connections. In short, bi-directional software often complicates the problem of external device configuration in that it is specialized and requires an environment not supported by all systems that use external devices.
Thus, as a matter of saving cost, labor, and time, there is a need in the art for providing a system and method for recognizing and configuring features included with an external device without additional hardware and software installation. It, therefore, is an object of this invention to provide a system and method for recognizing optional features included with an external device and configuring a host system to operate those features.
Accordingly, a system for connecting an external device and a host system includes an input/output code element linked with the external device. The input/output code element generates a device identification string. The device identification string includes an optional feature component associated with the external device. The optional feature component indicates at least one extra feature that is included with a particular external device, such as an envelope feeder for a printer or an audio component for a wireless Internet appliance.
The system further includes an installer linked with the host system. The installer receives the device identification string and parses the string for the optional feature component. The installer creates an add-on identifier key in the host system""s registry based on the optional feature component. In the preferred embodiment, the add-on identifier key is created for each extra feature. It should be added that the device identification string is sent by the external device to the host system through a cable or, in the alternative, a wireless interface.
The system further includes a device driver for operating all features of the external device identified by the device identification string, especially the optional feature component. In particular, the device driver accesses the add-on identifier key in the registry. The device driver includes a device driver configuration component which is modified in accordance with the add-on identifyer key to include features associated with the optional feature component.
In a further embodiment of the present invention, the system for connecting an external device and a host system is specifically applied to printers. Accordingly, the device driver comprises a printer driver and the external device comprises an external printer device. It should be added, however, that the present invention provides for the connection of the host system with any type of external device, such as a scanner, a video recorder, or a disk drive for example.
In a still further embodiment of the present invention, a method for connecting an external device and a host system is provided so that an input/output code element links with an external device. Accordingly, the input/output code element generates a device identification string that includes an optional feature component that is associated with the external device.